/*
        Firesoft 
        
    Copyright (C) 2010, Arttu Viljakainen 
    Published under GNU General Public License V3 
    (see http://www.gnu.org/licenses/licenses.html)
    
    This file is part of Firesoft.

    Firesoft is free software: 
    you can redistribute it and/or modify it under the terms of the GNU General 
    Public License as published by the Free Software Foundation, 
    either version 3 of the License, or (at your option) any later version.

    Firesoft is distributed in the hope that it will be useful, 
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 
    Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Tool for Path Finding Algorithm Testing. If not, see         
    <http://www.gnu.org/licenses/>.
 */
package softstarter.filehandling.indexer;

import java.io.File;
import java.util.LinkedList;
import java.util.List;

public class FileIndexer {

	public List<File> getAllFilesInFolder(File folder) {
		List<File> foundFiles = new LinkedList<File>();
		
		foundFiles = indexAllFilesFrom(folder);
		
		return foundFiles;
	}
	
	public List<File> indexAllFilesFrom(File folder) {
		List<File> files = new LinkedList<File>();
		files.add(folder);
		for(File file : folder.listFiles()) {
			files.add(file);
			if(file.isDirectory())
				files.addAll(indexAllFilesFrom(file));
		}
		
		return files;
	}
	
	public static void main(String[] args) {
		FileIndexer indexer = new FileIndexer();
		for(File file : indexer.getAllFilesInFolder(new File("C:/Users/avilja/Desktop/Pikkukuvat"))) {
			System.out.println(file.getName());
		}
	}
	
}
